package l_fanshe;

import java.lang.reflect.Method;

/** 
 * 获取Student类的main方法、不要与当前的main方法搞混了 
 */
public class MainMethod {
	public static void main(String[] args) throws Exception {
		//1.获取Student对象的字节码
		Class clazz = Class.forName("l_fanshe.Student");
		
		//2.获取main方法
		Method methodMain = clazz.getMethod("main", String[].class);//第一个参数：方法名称，第二个参数：方法形参的类型， 
		
		//3.调用main方法
		//methodMain.invoke(null, new String[]{"a","b","c"});    //报错
		//第一个参数,对象类型,因为是static静态的,所以可以为null,第二个参数是Sting[],这里要注意在jdk1.4时是数组,jdk1.5之后是可变参数
		//这里拆的时候将 new String[]{"a","b","c"} 拆成3个对象...所以需要将他强转.
		//methodMain.invoke(null, (Object)new String[]{"a","b","c"});//方式一
		methodMain.invoke(null, new Object[]{new String[]{"a","b","c"}});//方式二
		
	}
	
	
}
